package cn.liweixi.test;

import org.junit.Test;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

public class testJedisPool {
    @Test
    public void test02() throws Exception{
        //1 创建jedispool配置对象
        JedisPoolConfig config = new JedisPoolConfig();
        //2 做配置
        //最大空闲连接数
        config.setMaxIdle(2);
        //最大链接对象数
        config.setMaxTotal(10);
        //链接超时时间
        config.setMaxWaitMillis(1*1000);
        //获取连接是测试连接是否畅通
        config.setTestOnBorrow(true);
        //3 创建jedispool连接池对戏
        //参数：配置对象，redis主机地址 ，超时时间，密码
        JedisPool pool = new JedisPool(config,"127.0.0.1",6379,1*1000,"123456");
        //4 通过jedispool获取连接
        Jedis jedis = pool.getResource();
        //5 执行操作
        jedis.set("age","10");
        String result = jedis.get("age");
        System.out.println(result);
        // 6 释放连接 , 底层做了兼容,如果是连接池操作就是释放,如果是连接操作就是关闭
        jedis.close();
        // 7 摧毁连接池-如果是真正项目中它应该是一个受spring管理的单例
        pool.destroy();
    }
}
